package com.gitee.qdbp.general.common.api.oplog.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 操作记录更新类
 *
 * @author zhh
 * @version 180119
 */
@OperateTraces(enable = false)
@DataIsolation(enable = false)
public class OperateRecordUpdate extends OperateRecordBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 工程是否更新为空值 **/
    private Boolean projectToNull;

    /** 分组是否更新为空值 **/
    private Boolean groupsToNull;

    /** 用户ID是否更新为空值 **/
    private Boolean userIdToNull;

    /** 用户名是否更新为空值 **/
    private Boolean userNameToNull;

    /** 商家租户编号是否更新为空值 **/
    private Boolean providerTenantCodeToNull;

    /** 客服租户编号是否更新为空值 **/
    private Boolean agentTenantCodeToNull;

    /** 客服ID是否更新为空值 **/
    private Boolean agentIdToNull;

    /** 客服姓名是否更新为空值 **/
    private Boolean agentNameToNull;

    /** 是否代客操作是否更新为空值 **/
    private Boolean agencyOperateToNull;

    /** IP是否更新为空值 **/
    private Boolean ipToNull;

    /** 城市是否更新为空值 **/
    private Boolean cityToNull;

    /** 请求类型(1.页面|2.接口)是否更新为空值 **/
    private Boolean requestTypeToNull;

    /** 请求协议是否更新为空值 **/
    private Boolean requestProtocolToNull;

    /** 请求方法是否更新为空值 **/
    private Boolean requestMethodToNull;

    /** 请求URL是否更新为空值 **/
    private Boolean requestUrlToNull;

    /** 请求参数是否更新为空值 **/
    private Boolean requestParamsToNull;

    /** 执行描述是否更新为空值 **/
    private Boolean executeDescToNull;

    /** 执行方法是否更新为空值 **/
    private Boolean executeMethodToNull;

    /** 执行时间是否更新为空值 **/
    private Boolean executeTimeToNull;
    /** 执行时间的增加值 **/
    private Integer executeTimeAdd;

    /** 调用DB次数是否更新为空值 **/
    private Boolean dbInvokeTimesToNull;
    /** 调用DB次数的增加值 **/
    private Integer dbInvokeTimesAdd;

    /** 结果类型(1.成功|2.失败|3.未知)是否更新为空值 **/
    private Boolean returnTypeToNull;

    /** 返回码是否更新为空值 **/
    private Boolean returnCodeToNull;

    /** 返回内容是否更新为空值 **/
    private Boolean returnContentToNull;

    /** 来源页是否更新为空值 **/
    private Boolean refererUrlToNull;

    /** 入口是否更新为空值 **/
    private Boolean entranceToNull;

    /** 来源类型是否更新为空值 **/
    private Boolean refererTypeToNull;

    /** 来源关键词是否更新为空值 **/
    private Boolean refererKeywordToNull;

    /** UserAgent是否更新为空值 **/
    private Boolean userAgentToNull;

    /** 浏览器类型是否更新为空值 **/
    private Boolean browserTypeToNull;

    /** 浏览器版本是否更新为空值 **/
    private Boolean browserVersionToNull;

    /** 操作系统类型是否更新为空值 **/
    private Boolean osTypeToNull;

    /** 操作系统版本是否更新为空值 **/
    private Boolean osVersionToNull;

    /** 设备类型是否更新为空值 **/
    private Boolean deviceTypeToNull;

    /** 处理状态(1.未处理|2.已处理)是否更新为空值 **/
    private Boolean processStateToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private OperateRecordWhere where;

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /** 设置租户编号是否更新为空值 **/
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断工程是否更新为空值 **/
    public Boolean isProjectToNull() {
        return projectToNull;
    }

    /** 设置工程是否更新为空值 **/
    public void setProjectToNull(Boolean projectToNull) {
        this.projectToNull = projectToNull;
    }

    /** 判断分组是否更新为空值 **/
    public Boolean isGroupsToNull() {
        return groupsToNull;
    }

    /** 设置分组是否更新为空值 **/
    public void setGroupsToNull(Boolean groupsToNull) {
        this.groupsToNull = groupsToNull;
    }

    /** 判断用户ID是否更新为空值 **/
    public Boolean isUserIdToNull() {
        return userIdToNull;
    }

    /** 设置用户ID是否更新为空值 **/
    public void setUserIdToNull(Boolean userIdToNull) {
        this.userIdToNull = userIdToNull;
    }

    /** 判断用户名是否更新为空值 **/
    public Boolean isUserNameToNull() {
        return userNameToNull;
    }

    /** 设置用户名是否更新为空值 **/
    public void setUserNameToNull(Boolean userNameToNull) {
        this.userNameToNull = userNameToNull;
    }

    /** 判断商家租户编号是否更新为空值 **/
    public Boolean isProviderTenantCodeToNull() {
        return providerTenantCodeToNull;
    }

    /** 设置商家租户编号是否更新为空值 **/
    public void setProviderTenantCodeToNull(Boolean providerTenantCodeToNull) {
        this.providerTenantCodeToNull = providerTenantCodeToNull;
    }

    /** 判断客服租户编号是否更新为空值 **/
    public Boolean isAgentTenantCodeToNull() {
        return agentTenantCodeToNull;
    }

    /** 设置客服租户编号是否更新为空值 **/
    public void setAgentTenantCodeToNull(Boolean agentTenantCodeToNull) {
        this.agentTenantCodeToNull = agentTenantCodeToNull;
    }

    /** 判断客服ID是否更新为空值 **/
    public Boolean isAgentIdToNull() {
        return agentIdToNull;
    }

    /** 设置客服ID是否更新为空值 **/
    public void setAgentIdToNull(Boolean agentIdToNull) {
        this.agentIdToNull = agentIdToNull;
    }

    /** 判断客服姓名是否更新为空值 **/
    public Boolean isAgentNameToNull() {
        return agentNameToNull;
    }

    /** 设置客服姓名是否更新为空值 **/
    public void setAgentNameToNull(Boolean agentNameToNull) {
        this.agentNameToNull = agentNameToNull;
    }

    /** 判断是否代客操作是否更新为空值 **/
    public Boolean isAgencyOperateToNull() {
        return agencyOperateToNull;
    }

    /**
     * 设置是否代客操作是否更新为空值
     *
     * @param agencyOperateToNull 是否代客操作是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setAgencyOperateToNull(Boolean agencyOperateToNull) {
        this.agencyOperateToNull = agencyOperateToNull;
    }

    /** 判断IP是否更新为空值 **/
    public Boolean isIpToNull() {
        return ipToNull;
    }

    /** 设置IP是否更新为空值 **/
    public void setIpToNull(Boolean ipToNull) {
        this.ipToNull = ipToNull;
    }

    /** 判断城市是否更新为空值 **/
    public Boolean isCityToNull() {
        return cityToNull;
    }

    /** 设置城市是否更新为空值 **/
    public void setCityToNull(Boolean cityToNull) {
        this.cityToNull = cityToNull;
    }

    /** 判断请求类型(1.页面|2.接口)是否更新为空值 **/
    public Boolean isRequestTypeToNull() {
        return requestTypeToNull;
    }

    /**
     * 设置请求类型(1.页面|2.接口)是否更新为空值
     *
     * @param requestTypeToNull 请求类型(1.页面|2.接口)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setRequestTypeToNull(Boolean requestTypeToNull) {
        this.requestTypeToNull = requestTypeToNull;
    }

    /** 判断请求协议是否更新为空值 **/
    public Boolean isRequestProtocolToNull() {
        return requestProtocolToNull;
    }

    /** 设置请求协议是否更新为空值 **/
    public void setRequestProtocolToNull(Boolean requestProtocolToNull) {
        this.requestProtocolToNull = requestProtocolToNull;
    }

    /** 判断请求方法是否更新为空值 **/
    public Boolean isRequestMethodToNull() {
        return requestMethodToNull;
    }

    /** 设置请求方法是否更新为空值 **/
    public void setRequestMethodToNull(Boolean requestMethodToNull) {
        this.requestMethodToNull = requestMethodToNull;
    }

    /** 判断请求URL是否更新为空值 **/
    public Boolean isRequestUrlToNull() {
        return requestUrlToNull;
    }

    /** 设置请求URL是否更新为空值 **/
    public void setRequestUrlToNull(Boolean requestUrlToNull) {
        this.requestUrlToNull = requestUrlToNull;
    }

    /** 判断请求参数是否更新为空值 **/
    public Boolean isRequestParamsToNull() {
        return requestParamsToNull;
    }

    /** 设置请求参数是否更新为空值 **/
    public void setRequestParamsToNull(Boolean requestParamsToNull) {
        this.requestParamsToNull = requestParamsToNull;
    }

    /** 判断执行描述是否更新为空值 **/
    public Boolean isExecuteDescToNull() {
        return executeDescToNull;
    }

    /** 设置执行描述是否更新为空值 **/
    public void setExecuteDescToNull(Boolean executeDescToNull) {
        this.executeDescToNull = executeDescToNull;
    }

    /** 判断执行方法是否更新为空值 **/
    public Boolean isExecuteMethodToNull() {
        return executeMethodToNull;
    }

    /** 设置执行方法是否更新为空值 **/
    public void setExecuteMethodToNull(Boolean executeMethodToNull) {
        this.executeMethodToNull = executeMethodToNull;
    }

    /** 判断执行时间是否更新为空值 **/
    public Boolean isExecuteTimeToNull() {
        return executeTimeToNull;
    }

    /** 设置执行时间是否更新为空值 **/
    public void setExecuteTimeToNull(Boolean executeTimeToNull) {
        this.executeTimeToNull = executeTimeToNull;
    }

    /** 获取执行时间的增加值 **/
    public Integer getExecuteTimeAdd() {
        return executeTimeAdd;
    }

    /** 设置执行时间的增加值 **/
    public void setExecuteTimeAdd(Integer executeTimeAdd) {
        this.executeTimeAdd = executeTimeAdd;
    }

    /** 判断调用DB次数是否更新为空值 **/
    public Boolean isDbInvokeTimesToNull() {
        return dbInvokeTimesToNull;
    }

    /** 设置调用DB次数是否更新为空值 **/
    public void setDbInvokeTimesToNull(Boolean dbInvokeTimesToNull) {
        this.dbInvokeTimesToNull = dbInvokeTimesToNull;
    }

    /** 获取调用DB次数的增加值 **/
    public Integer getDbInvokeTimesAdd() {
        return dbInvokeTimesAdd;
    }

    /** 设置调用DB次数的增加值 **/
    public void setDbInvokeTimesAdd(Integer dbInvokeTimesAdd) {
        this.dbInvokeTimesAdd = dbInvokeTimesAdd;
    }

    /** 判断结果类型(1.成功|2.失败|3.未知)是否更新为空值 **/
    public Boolean isReturnTypeToNull() {
        return returnTypeToNull;
    }

    /**
     * 设置结果类型(1.成功|2.失败|3.未知)是否更新为空值
     *
     * @param returnTypeToNull 结果类型(1.成功|2.失败|3.未知)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setReturnTypeToNull(Boolean returnTypeToNull) {
        this.returnTypeToNull = returnTypeToNull;
    }

    /** 判断返回码是否更新为空值 **/
    public Boolean isReturnCodeToNull() {
        return returnCodeToNull;
    }

    /** 设置返回码是否更新为空值 **/
    public void setReturnCodeToNull(Boolean returnCodeToNull) {
        this.returnCodeToNull = returnCodeToNull;
    }

    /** 判断返回内容是否更新为空值 **/
    public Boolean isReturnContentToNull() {
        return returnContentToNull;
    }

    /** 设置返回内容是否更新为空值 **/
    public void setReturnContentToNull(Boolean returnContentToNull) {
        this.returnContentToNull = returnContentToNull;
    }

    /** 判断来源页是否更新为空值 **/
    public Boolean isRefererUrlToNull() {
        return refererUrlToNull;
    }

    /** 设置来源页是否更新为空值 **/
    public void setRefererUrlToNull(Boolean refererUrlToNull) {
        this.refererUrlToNull = refererUrlToNull;
    }

    /** 判断入口是否更新为空值 **/
    public Boolean isEntranceToNull() {
        return entranceToNull;
    }

    /** 设置入口是否更新为空值 **/
    public void setEntranceToNull(Boolean entranceToNull) {
        this.entranceToNull = entranceToNull;
    }

    /** 判断来源类型是否更新为空值 **/
    public Boolean isRefererTypeToNull() {
        return refererTypeToNull;
    }

    /** 设置来源类型是否更新为空值 **/
    public void setRefererTypeToNull(Boolean refererTypeToNull) {
        this.refererTypeToNull = refererTypeToNull;
    }

    /** 判断来源关键词是否更新为空值 **/
    public Boolean isRefererKeywordToNull() {
        return refererKeywordToNull;
    }

    /** 设置来源关键词是否更新为空值 **/
    public void setRefererKeywordToNull(Boolean refererKeywordToNull) {
        this.refererKeywordToNull = refererKeywordToNull;
    }

    /** 判断UserAgent是否更新为空值 **/
    public Boolean isUserAgentToNull() {
        return userAgentToNull;
    }

    /** 设置UserAgent是否更新为空值 **/
    public void setUserAgentToNull(Boolean userAgentToNull) {
        this.userAgentToNull = userAgentToNull;
    }

    /** 判断浏览器类型是否更新为空值 **/
    public Boolean isBrowserTypeToNull() {
        return browserTypeToNull;
    }

    /** 设置浏览器类型是否更新为空值 **/
    public void setBrowserTypeToNull(Boolean browserTypeToNull) {
        this.browserTypeToNull = browserTypeToNull;
    }

    /** 判断浏览器版本是否更新为空值 **/
    public Boolean isBrowserVersionToNull() {
        return browserVersionToNull;
    }

    /** 设置浏览器版本是否更新为空值 **/
    public void setBrowserVersionToNull(Boolean browserVersionToNull) {
        this.browserVersionToNull = browserVersionToNull;
    }

    /** 判断操作系统类型是否更新为空值 **/
    public Boolean isOsTypeToNull() {
        return osTypeToNull;
    }

    /** 设置操作系统类型是否更新为空值 **/
    public void setOsTypeToNull(Boolean osTypeToNull) {
        this.osTypeToNull = osTypeToNull;
    }

    /** 判断操作系统版本是否更新为空值 **/
    public Boolean isOsVersionToNull() {
        return osVersionToNull;
    }

    /** 设置操作系统版本是否更新为空值 **/
    public void setOsVersionToNull(Boolean osVersionToNull) {
        this.osVersionToNull = osVersionToNull;
    }

    /** 判断设备类型是否更新为空值 **/
    public Boolean isDeviceTypeToNull() {
        return deviceTypeToNull;
    }

    /** 设置设备类型是否更新为空值 **/
    public void setDeviceTypeToNull(Boolean deviceTypeToNull) {
        this.deviceTypeToNull = deviceTypeToNull;
    }

    /** 判断处理状态(1.未处理|2.已处理)是否更新为空值 **/
    public Boolean isProcessStateToNull() {
        return processStateToNull;
    }

    /**
     * 设置处理状态(1.未处理|2.已处理)是否更新为空值
     *
     * @param processStateToNull 处理状态(1.未处理|2.已处理)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setProcessStateToNull(Boolean processStateToNull) {
        this.processStateToNull = processStateToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public OperateRecordWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public OperateRecordWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new OperateRecordWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(OperateRecordWhere where) {
        this.where = where;
    }
}